package sort.data;

import anaydis.sort.data.DataSetGenerator;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class IntegerDataSetGenerator implements DataSetGenerator<Integer>{
    @NotNull
    public List<Integer> createAscending(int i) {
        List<Integer> ls = new ArrayList<Integer>();
        for(int j = 0; j< i;j++){
            ls.add(j);
        }
        return ls;
    }

    @NotNull
    public List<Integer> createDescending(int i) {
        List<Integer> ls = createAscending(i);
        Collections.reverse(ls);
        return ls;
    }

    @NotNull
    public List<Integer> createRandom(int i) {
        List<Integer> ls = new ArrayList<Integer>();
        for(int j = 0; j< i;j++){
            ls.add((int)((Math.random())*i+1));
        }
        return ls;
    }

    @NotNull
    public Comparator<Integer> getComparator() {
        return new Comparator<Integer>(){            
            public int compare(Integer integer, Integer integer1) {
                return integer.compareTo(integer1);
            }
        };
    }
}
